home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / demo / wemdemo4.zip / INFO / GNUS.2 (.txt) < prev    next >
GNU Info File  |  1994-09-21  |  35KB  |  660 lines

  1. This is Info file ../info/gnus, produced by Makeinfo-1.56 from the
  2. input file gnus.txi.
  3.    This file documents GNUS, the GNU Emacs newsreader.
  4.    Copyright (C) 1989 Fujitsu Laboratories LTD.  Copyright (C) 1990
  5. Masanobu UMEDA.
  6.    Permission is granted to make and distribute verbatim copies of this
  7. manual provided the copyright notice and this permission notice are
  8. preserved on all copies.
  9.    Permission is granted to copy and distribute modified versions of
  10. this manual under the conditions for verbatim copying, provided also
  11. that the sections entitled "Distribution" and "GNUS General Public
  12. License" are included exactly as in the original, and provided that the
  13. entire resulting derived work is distributed under the terms of a
  14. permission notice identical to this one.
  15.    Permission is granted to copy and distribute translations of this
  16. manual into another language, under the above conditions for modified
  17. versions, except that the sections entitled "Distribution" and "GNUS
  18. General Public License" may be included in a translation approved by
  19. the author instead of in the original English.
  20. File: gnus,  Node: Moving Among Articles,  Next: Scrolling,  Prev: Browsing Headers,  Up: Reading Articles
  21. Moving Among Articles
  22. ---------------------
  23.    The commands described here are for moving the point on headers, and
  24. then automatically selecting articles.
  25.      Read the next article, skipping marked articles
  26.      (`gnus-Subject-next-unread-article').
  27.      Read the previous article, skipping marked articles
  28.      (`gnus-Subject-prev-unread-article').
  29.      Read the next article (`gnus-Subject-next-article').
  30.      Read the previous article (`gnus-Subject-prev-article').
  31. `M-C-n'
  32.      Read the next article with the same subject as the current article
  33.      (`gnus-Subject-next-same-subject').
  34. `M-C-p'
  35.      Read the previous article with the same subject as the current
  36.      article (`gnus-Subject-prev-same-subject').
  37. `M-x gnus-Subject-next-unread-same-subject'
  38.      Read the next article with the same subject as the current article,
  39.      skipping marked articles.
  40. `M-x gnus-Subject-prev-unread-same-subject'
  41.      Read the previous article with the same subject as the current
  42.      article, skipping marked articles.
  43.      Read the first unread article
  44.      (`gnus-Subject-first-unread-article').
  45.      Read the article selected last (`gnus-Subject-goto-last-article').
  46. `J NUMBER RET'
  47.      Read the article specified by the article NUMBER
  48.      (`gnus-Subject-goto-article').
  49.    If the variable `gnus-auto-select-same' is non-`nil', the commands
  50. `n' and `p' (`gnus-Subject-next-unread-article' and
  51. `gnus-Subject-prev-unread-article') move the point to unread articles
  52. with the same subject as the current article like the commands `M-x
  53. gnus-Subject-next-unread-same-subject' and `M-x
  54. gnus-Subject-prev-unread-same-subject', respectively.  If you are used
  55. to running `rn -S', set the variable to non-`nil'.
  56.    If the variable `gnus-auto-extend-newsgroup' is non-`nil', the
  57. commands `N' and `P' (`gnus-Subject-next-article' and
  58. `gnus-Subject-prev-article') extend visible articles to forward and
  59. backward if possible.
  60.    The variable `gnus-auto-select-next' defines the behavior of GNUS
  61. when there is no unread article in the current newsgroup and a command
  62. selecting the next unread article is executed.  If the variable is
  63. non-`nil', the next newsgroup containing unread articles is selected
  64. automatically.
  65.    *Note Variables::, for more information on customization.
  66. File: gnus,  Node: Scrolling,  Next: Marking Articles,  Prev: Moving Among Articles,  Up: Reading Articles
  67. Scrolling Within an Article
  68. ---------------------------
  69.    Type `SPC' (`gnus-Subject-next-page') to scroll to the next page of
  70. the current article.  If no article is selected yet, an article near
  71. the point is selected and its first page is displayed in the Article
  72. buffer.  The next unread article is selected automatically if `SPC' is
  73. typed at the end of the message.
  74. `SPC'
  75.      Scroll to the next page of the current article
  76.      (`gnus-Subject-next-page').  Select it first if no article is
  77.      selected yet.  Select the next unread article automatically at the
  78.      end of the message.
  79. `DEL'
  80.      Scroll to the previous page of the current article
  81.      (`gnus-Subject-prev-page').
  82. `RET'
  83.      Scroll up or down one line of the current article
  84.      (`gnus-Subject-scroll-up').
  85.      Move point to the beginning of the current article
  86.      (`gnus-Subject-beginning-of-article').
  87.      Move point to the end of the current article
  88.      (`gnus-Subject-end-of-article').
  89.      Stop page breaking (`gnus-Subject-stop-page-breaking').
  90.      Show all headers of the current article
  91.      (`gnus-Subject-show-all-headers').
  92.      Show all headers of the current article if pruned header currently
  93.      shown, or vice versa (`gnus-Subject-toggle-header').
  94. `C-c C-r'
  95.      Caesar rotate letters by 13 places and Japanese characters by 47
  96.      places (`gnus-Subject-caesar-message').
  97.      Force to read the current article again
  98.      (`gnus-Subject-show-article').
  99.    If the Article buffer is not visible, it is popped up under the
  100. Subject buffer when necessary.  The height of the Subject buffer and
  101. that of the Article buffer can be customized by using the variable
  102. `gnus-window-configuration'.
  103.    The command `C-c C-r' (`gnus-Subject-caesar-message') rotates all
  104. letters in the message body of the current article by 13 places.
  105. Japanese characters are rotated by 47 places.  Running the command twice
  106. on the same article results the original message.
  107.    If the variable `gnus-break-pages' is non-`nil', the message is
  108. broken into pages at page delimiters specified by the variable
  109. `gnus-page-delimiter'.  The command `w'
  110. (`gnus-Subject-stop-page-breaking') temporary suspends page breaks.
  111.    The variable `gnus-ignored-headers' specifies header fields which
  112. should be ignored.  The command `v' (`gnus-Subject-show-all-headers')
  113. shows all headers of the current article, while the command `t'
  114. (`gnus-Subject-toggle-header') toggles the headers.
  115.    *Note Variables::, and *note Hooks::., for more information on
  116. customization.
  117. File: gnus,  Node: Marking Articles,  Next: Thread-based Reading,  Prev: Scrolling,  Up: Reading Articles
  118. Marking Articles
  119. ----------------
  120.    GNUS uses three kinds of marks to indicate article status.
  121.    * White space ` ' for newly arrived articles.
  122.    * Dash `-' for articles marked as unread.
  123.    * Any other characters for articles marked as read.
  124.    The status is displayed at the beginning of each line of the Subject
  125. buffer.  Commands for marking or removing these marks are as follows:
  126.      Mark article as read, and then move to the next subject
  127.      (`gnus-Subject-mark-as-read-forward').
  128.      Mark article as read, and then move to the previous subject
  129.      (`gnus-Subject-mark-as-read-backward').
  130.      Mark article as unread, and then move to the next subject
  131.      (`gnus-Subject-mark-as-unread-forward').
  132.      Mark article as unread, and then move to the previous subject
  133.      (`gnus-Subject-mark-as-unread-backward').
  134. `M-u'
  135.      Clear marks, and then move to the next subject
  136.      (`gnus-Subject-clear-mark-forward').
  137. `M-U'
  138.      Clear marks, and then move to the previous subject
  139.      (`gnus-Subject-clear-mark-backward').
  140.      Mark articles with the same subject as the current article as
  141.      read, and then select the next unread article
  142.      (`gnus-Subject-kill-same-subject-and-select').
  143. `C-k'
  144.      Mark articles with the same subject as the current article as read
  145.      (`gnus-Subject-kill-same-subject').
  146. `M-x gnus-Subject-catch-up-and-exit'
  147.      Mark all articles, which are not marked as unread, as read, and
  148.      then exit the current newsgroup.
  149. `M-x gnus-Subject-catch-up-all-and-exit'
  150.      Mark all articles as read, and then exit the current newsgroup.
  151. `M-x gnus-Subject-catch-up'
  152.      Mark all articles as read, preserving articles marked as unread.
  153. `M-x gnus-Subject-catch-up-all'
  154.      Mark all articles as read.
  155.    It is helpful to delete headers marked as read while reading a large
  156. newsgroup.  The command `x' (`gnus-Subject-delete-marked-as-read')
  157. deletes headers marked as read.  The command `X'
  158. (`gnus-Subject-delete-marked-with') deletes headers which have a
  159. specific mark.
  160.      Delete headers marked as read
  161.      (`gnus-Subject-delete-marked-as-read').
  162. `X MARK RET'
  163.      Delete headers marked with MARK
  164.      (`gnus-Subject-delete-marked-with').
  165. File: gnus,  Node: Thread-based Reading,  Next: Digest Articles,  Prev: Marking Articles,  Up: Reading Articles
  166. Reading Based on Conversation Threads
  167. -------------------------------------
  168.    Conversations on the usenet news usually contain several threads
  169. under a single subject.  This makes it difficult to know which article
  170. follows which without reading references directly.  It would be useful
  171. if we could read articles based on conversation threads.
  172.    GNUS enables you this thread-based reading.  The reader can follow
  173. threads of conversation, mark threads as read, and go up and down thread
  174. trees.  The command `M-C-t' (`gnus-Subject-toggle-threads') toggles
  175. showing conversation threads in Subject Mode.  If it is turned on,
  176. Subject buffer is displayed in a tree structured form according to what
  177. each article was a reply to.
  178. `M-C-t'
  179.      Toggle thread-based reading (`gnus-Subject-toggle-threads').
  180. `M-C-s'
  181.      Show thread subtrees (`gnus-Subject-show-thread').
  182. `M-x gnus-Subject-show-all-threads'
  183.      Show all thread subtrees.
  184. `M-C-h'
  185.      Hide thread subtrees (`gnus-Subject-hide-thread').
  186. `M-x gnus-Subject-hide-all-threads'
  187.      Hide all thread subtrees.
  188. `M-C-f'
  189.      Go to the same level next thread (`gnus-Subject-next-thread').
  190. `M-C-b'
  191.      Go to the same level previous thread (`gnus-Subject-prev-thread').
  192. `M-C-d'
  193.      Go down to the lower level thread (`gnus-Subject-down-thread').
  194. `M-C-u'
  195.      Go up to the upper level thread (`gnus-Subject-up-thread').
  196. `M-C-k'
  197.      Mark articles under current thread as read
  198.      (`gnus-Subject-kill-thread').
  199.    Thread subtrees can be hidden by using the command `M-C-h'
  200. (`gnus-Subject-hide-thread'), and the hidden subtrees can be shown by
  201. using the command `M-C-s' (`gnus-Subject-show-thread').
  202.    If the variable `gnus-thread-hide-killed' is non-`nil', thread
  203. subtrees killed by the command `M-C-k' (`gnus-Subject-kill-thread') are
  204. hidden automatically.
  205.    If you want to hide thread subtrees initially, set the variable
  206. `gnus-thread-hide-subtree' to non-`nil'.
  207.    If you want to enable thread-based reading automatically, set the
  208. variable `gnus-show-threads' to non-`nil'.
  209.    *Note Variables::, for more information on customization.
  210. File: gnus,  Node: Digest Articles,  Prev: Thread-based Reading,  Up: Reading Articles
  211. Reading Digest Articles
  212. -----------------------
  213.    "Digest article" is a message containing many messages in "digest"
  214. format.  Since a digest article contains many messages in one article,
  215. it is a little bit difficult to read it on a per message basis.  The
  216. following commands make it easier to read each message in a digest.
  217. `C-c C-n'
  218.      Scroll to the next digest message of the current article
  219.      (`gnus-Subject-next-digest').
  220. `C-c C-p'
  221.      Scroll to the previous digest message of the current article
  222.      (`gnus-Subject-prev-digest').
  223. `C-d'
  224.      Read the current digest article using Rmail
  225.      (`gnus-Subject-rmail-digest').
  226.    The commands `C-c C-n' and `C-c C-p' (`gnus-Subject-next-digest' and
  227. `gnus-Subject-prev-digest') scroll a digest article to the next and
  228. previous digested message, respectively.  The variable
  229. `gnus-digest-separator' specifies a regexp which separates digested
  230. messages.
  231.    The command `C-d' (`gnus-Subject-rmail-digest') runs Rmail on a
  232. digest article and makes it possible to read messages not in digest
  233. form using Rmail Mode.  *note Rmail: (emacs)Rmail, for more information
  234. on Rmail Mode.  Use the hook `gnus-Select-article-hook' to run Rmail on
  235. digest articles automatically.
  236.    Digest articles in some newsgroups of USENET cannot be read using
  237. Rmail.  In this case, a message `Article is not a digest' is displayed
  238. in the echo area of Emacs.  This means that these articles are not
  239. written in the proper digest format.  It is, however, possible to read
  240. these incomplete digest articles by modifying the message headers or
  241. bodies appropriately using the hook `gnus-Select-digest-hook'.  *Note
  242. Hooks::, to modify incomplete digest articles.
  243.    If the variable `gnus-digest-show-summary' is non-`nil', a summary
  244. of the digest article is also displayed automatically when Rmail is
  245. invoked.
  246. File: gnus,  Node: Searching Articles,  Next: Referencing Articles,  Prev: Reading Articles,  Up: Subject Commands
  247. Searching Articles
  248. ==================
  249.      Do incremental search on the current article
  250.      (`gnus-Subject-isearch-article').
  251. `M-s REGEXP RET'
  252.      Search for articles containing a match for REGEXP forward
  253.      (`gnus-Subject-search-article-forward').  If REGEXP is empty, the
  254.      last regexp used is used again.
  255. `M-S REGEXP RET'
  256.      Search for articles containing a match for REGEXP backward
  257.      (`gnus-Subject-search-article-backward').  If REGEXP is empty, the
  258.      last regexp used is used again.
  259. `& FIELD RET REGEXP RET COMMAND RET'
  260.      Execute COMMAND on articles containing a match for REGEXP in FIELD
  261.      of the headers (`gnus-Subject-execute-command').  If FIELD is
  262.      empty, the entire article is searched for.
  263.    The command `s' (`gnus-Subject-isearch-article') does an incremental
  264. search on the current article.  The commands `M-s' and `M-S'
  265. (`gnus-Subject-search-article-forward' and
  266. `gnus-Subject-search-article-backward') search for articles containing
  267. a match for regexp.  The search starts from the current point of the
  268. current article.
  269.    The command `&' (`gnus-Subject-execute-command') interactively reads
  270. the field name of article headers, regexp, and a valid command key
  271. sequence.  It then searches for articles having a field that contains a
  272. match for the regexp, and then executes the command specified by the
  273. key sequence on them.
  274. File: gnus,  Node: Referencing Articles,  Next: Saving Articles,  Prev: Searching Articles,  Up: Subject Commands
  275. Referencing Articles
  276. ====================
  277.      Refer to parent of the current article
  278.      (`gnus-Subject-refer-parent-article').  With a prefix argument, go
  279.      back to the child.
  280. `M-r MESSAGE-ID RET'
  281.      Refer to the article by using the MESSAGE-ID
  282.      (`gnus-Subject-refer-article').  With an empty MESSAGE-ID, go back
  283.      to the origin.
  284.    The command `^' (`gnus-Subject-refer-parent-article') refers to
  285. parent article of the current article.  The child article is remembered
  286. in internal history, and it is possible to return to the child by
  287. giving a prefix argument to the command.
  288.    The commands `^' and `M-r' (`gnus-Subject-refer-parent-article' and
  289. `gnus-Subject-refer-article') share the same internal history.  You can
  290. thus go back to a child using the command `M-r' with an empty
  291. Message-ID.
  292.    Type `g' (`gnus-Subject-show-article') to go back to the origin from
  293. the visited articles directly.
  294.    *Note Article Commands::, to refer to articles by using Message-IDs
  295. included in the messages.
  296. File: gnus,  Node: Saving Articles,  Next: Sorting Headers,  Prev: Referencing Articles,  Up: Subject Commands
  297. Saving Articles
  298. ===============
  299.    GNUS provides four different formats for saving articles: Rmail
  300. format, Unix mailbox format, MH folder, and article format.  If you set
  301. the variable `gnus-default-article-saver' to your favorite article
  302. saver, you can save an article using the command `o'
  303. (`gnus-Subject-save-article') in your favorite format.  The default
  304. saver is the function `gnus-Subject-save-in-rmail'.
  305.      Save the current article using the default saver specified by the
  306.      variable `gnus-default-article-saver'
  307.      (`gnus-Subject-save-article').
  308. `C-o'
  309. `M-x gnus-Subject-save-in-mail'
  310.      Save the current article in Unix mailbox format.
  311. `M-x gnus-Subject-save-in-rmail'
  312.      Save the current article in Rmail format.
  313. `M-x gnus-Subject-save-in-folder'
  314.      Save the current article in an MH folder.
  315. `M-x gnus-Subject-save-in-file'
  316.      Save the current article in article format.
  317. `| COMMAND RET'
  318.      Send contents of the current article to the COMMAND subprocess
  319.      (`gnus-Subject-pipe-output').
  320.    If the variable `gnus-save-all-headers' is non-`nil', all headers of
  321. an article are saved.
  322.    The variable `gnus-article-save-directory' specifies a directory in
  323. which articles are saved to by the functions
  324. `gnus-Subject-save-in-mail', `gnus-Subject-save-in-rmail', and
  325. `gnus-Subject-save-in-file'.  It is initialized from the `SAVEDIR'
  326. environment variable.  The default directory is `~/News'.
  327.    The variables `gnus-mail-save-name', `gnus-rmail-save-name',
  328. `gnus-folder-save-name', and `gnus-file-save-name' specify functions
  329. generating default file name to which articles are saved using
  330. `gnus-Subject-save-in-mail', `gnus-Subject-save-in-rmail',
  331. `gnus-Subject-save-in-folder', and `gnus-Subject-save-in-file',
  332. respectively.  The function is called with NEWSGROUP, HEADERS, and
  333. optional LAST-NAME.
  334.    *Note Variables::, for more information on customization.
  335. File: gnus,  Node: Sorting Headers,  Next: Followup and Reply,  Prev: Saving Articles,  Up: Subject Commands
  336. Sorting Headers
  337. ===============
  338.    The headers listed in the Subject buffer can be sorted by number,
  339. subject, date, or author of articles.  Sorting is stable, so it is
  340. possible to combine them to sort the headers with multiple keys.  To
  341. sort in reverse order, give a prefix argument to the commands.
  342. `C-c C-s n'
  343. `C-c C-s C-n'
  344.      Sort the headers by number (`gnus-Subject-sort-by-number').
  345. `C-c C-s s'
  346. `C-c C-s C-s'
  347.      Sort the headers by subject (`gnus-Subject-sort-by-subject').
  348. `C-c C-s d'
  349. `C-c C-s C-d'
  350.      Sort the headers by date (`gnus-Subject-sort-by-date').
  351. `C-c C-s a'
  352. `C-c C-s C-a'
  353.      Sort the headers by author (`gnus-Subject-sort-by-author').
  354.    It is also possible to sort the headers automatically when a
  355. newsgroup is selected using the hook `gnus-Select-group-hook' (*note
  356. Hooks::.).
  357. File: gnus,  Node: Followup and Reply,  Next: Exiting Newsgroup,  Prev: Sorting Headers,  Up: Subject Commands
  358. Followup and Reply
  359. ==================
  360.      Followup to the current article (`gnus-Subject-post-reply').
  361.      Followup to the current article with the original article
  362.      (`gnus-Subject-post-reply-with-original').
  363.      Compose a new article (`gnus-Subject-post-news').
  364.    Type `a' (`gnus-Subject-post-news') to post a new article.  If the
  365. variable `gnus-interactive-post' is non-`nil', the newsgroup, subject,
  366. and distribution are asked for interactively.  The command `f'
  367. (`gnus-Subject-post-reply') fills these values in automatically from
  368. those of the original article.  Type `C-c C-y'
  369. (`news-reply-yank-original') to include the original article.  The
  370. command `F' (`gnus-Subject-post-reply-with-original') yanks the
  371. original article automatically.  If you want to followup to several
  372. articles in a single article and want to include them in it, type `F'
  373. for each of them.  You will be asked if a text being edited should be
  374. erased.  You should answer `n' to the question.
  375.    If the variable `gnus-novice-user' is non-`nil', your confirmations
  376. will be required for composing a new article.
  377.    The major mode for composing a new article is "News Mode" which is
  378. borrowed from `rnewspost.el'.  Type `C-h m' (`describe-mode') to get
  379. more help on News Mode.
  380.      Cancel the current article you posted
  381.      (`gnus-Subject-cancel-article').
  382.    Suppose you post an article and then later realize that you made a
  383. horrible mistake.  You really do not want anyone to see your article.
  384. You want the article to be removed from any machines that it may have
  385. reached.  The command `C' (`gnus-Subject-cancel-article') is intended
  386. to do this.  First select the offending article as current, then type
  387.      Reply to the author of the current article
  388.      (`gnus-Subject-mail-reply').
  389.      Reply to the author of the current article with the original
  390.      article (`gnus-Subject-mail-reply-with-original').
  391. `C-c C-f'
  392.      Forward the current message to another user.
  393.      (`gnus-Subject-mail-forward').
  394.      Compose a mail message in other window
  395.      (`gnus-Subject-mail-other-window').
  396.    Use the command `r' (`gnus-Subject-mail-reply') to reply to the
  397. author of the article.  Type `C-c C-y' to include the original article.
  398. The command `R' (`gnus-Subject-mail-reply-with-original') yanks the
  399. original article automatically.
  400.    When composing a mail message, the message composer (or mailer) is
  401. selected by the values of the variables `gnus-mail-reply-method',
  402. `gnus-mail-forward-method', and `gnus-mail-other-window-method'.  These
  403. are defaulted to use Mail Mode.  If you want to use mh-e letter Mode
  404. instead of it, set the variable `gnus-mail-reply-method' to
  405. `gnus-mail-reply-using-mhe', variable `gnus-mail-forward-method' to
  406. `gnus-mail-forward-using-mhe', and the variable
  407. `gnus-mail-other-window-method' to `gnus-mail-other-window-using-mhe'.
  408. It is possible to use other mailers by customizing these variables.
  409. *note Mail Mode: (emacs)Mail Mode, for more information on Mail Mode.
  410. File: gnus,  Node: Exiting Newsgroup,  Next: Other Subject Commands,  Prev: Followup and Reply,  Up: Subject Commands
  411. Exiting the Current Newsgroup
  412. =============================
  413.      Exit the current newsgroup, and return to Group Mode
  414.      (`gnus-Subject-exit').
  415.      Exit the current newsgroup without recording unread articles
  416.      information (`gnus-Subject-quit').
  417. `M-x gnus-Subject-catch-up-and-exit'
  418.      Mark all articles, which are not marked as unread, as read, then
  419.      exit the current newsgroup.
  420. `M-x gnus-Subject-catch-up-all-and-exit'
  421.      Mark all articles as read, then exit the current newsgroup.
  422.      Record unread articles information, then reselect the current
  423.      newsgroup (`gnus-Subject-reselect-current-group').
  424. `M-x gnus-Subject-next-group'
  425.      Record unread articles information, then select the next newsgroup
  426.      containing unread articles.
  427. `M-x gnus-Subject-prev-group'
  428.      Record unread articles information, then select the previous
  429.      newsgroup containing unread articles.
  430.    The command `G' (`gnus-Subject-reselect-current-group') selects the
  431. current newsgroup again after temporary exiting the newsgroup.  If no
  432. articles remain unread, all articles in the newsgroup will be selected.
  433. A prefix argument to the command means to select all articles in the
  434. newsgroup.
  435. File: gnus,  Node: Other Subject Commands,  Prev: Exiting Newsgroup,  Up: Subject Commands
  436. Miscellaneous Commands
  437. ======================
  438.    Other miscellaneous commands are described here.
  439. `M-k'
  440.      Edit a local KILL file applied to the current newsgroup
  441.      (`gnus-Subject-edit-local-kill').  *Note KILL File::, for more
  442.      information.
  443. `M-K'
  444.      Edit a global KILL file applied to all newsgroups
  445.      (`gnus-Subject-edit-local-kill').  *Note KILL File::, for more
  446.      information.
  447.      Print the version number of this GNUS (`gnus-version').
  448.      Describe Subject Mode commands briefly
  449.      (`gnus-Subject-describe-briefly').
  450. `C-c C-i'
  451.      Read Info on Subject Mode (`gnus-Info-find-node').  *Note Texinfo
  452.      Manual::, to prepare an Info file of GNUS.
  453. File: gnus,  Node: Article Commands,  Next: KILL File,  Prev: Subject Commands,  Up: Top
  454. Article Commands
  455. ****************
  456.    In the Article buffer the following commands are available:
  457. `SPC'
  458.      Scroll text of the current window (`gnus-Article-next-page').
  459. `DEL'
  460.      Scroll text of the current window (`gnus-Article-prev-page').
  461.      Refer to article specified by the Message-ID close to the point
  462.      (`gnus-Article-refer-article').
  463.      Return to the previous article from the referenced article
  464.      (`gnus-Article-pop-article').
  465.      Reconfigure Emacs windows to show the Subject buffer above the
  466.      Article buffer and move the point to the Subject buffer
  467.      (`gnus-Article-show-subjects').
  468.      Describe Article Mode commands briefly
  469.      (`gnus-Article-describe-briefly').
  470. `C-c C-i'
  471.      Read Info on Article Mode (`gnus-Info-find-node').  *Note Texinfo
  472.      Manual::, to prepare an Info file of GNUS.
  473.    The command `r' (`gnus-Article-refer-article') searches for the
  474. Message-ID around the point, and refers to the article specified by it
  475. if found.  Use the command `o' (`gnus-Article-pop-article') to return
  476. to the previous article.  *Note Referencing Articles::, for referencing
  477. parent articles easily.
  478. File: gnus,  Node: KILL File,  Next: Customization,  Prev: Article Commands,  Up: Top
  479. KILL File
  480. *********
  481.    The purpose of a KILL file and its usage are described here.
  482. * Menu:
  483. * What KILL Files Do::          An introduction to a KILL file.
  484. * Making a KILL File::          How to make a KILL file.
  485. * Editing KILL Files::          How to edit KILL files.
  486. * Example of a KILL File::      An example of a KILL file.
  487. * Background Kills::            Background kill processing.
  488. * Advanced Kills::              Advanced kill processing.
  489. File: gnus,  Node: What KILL Files Do,  Next: Making a KILL File,  Prev: KILL File,  Up: KILL File
  490. What KILL Files Do
  491. ==================
  492.    A "KILL" file contains lisp expressions to be applied to a selected
  493. newsgroup.  The purpose is to mark articles as read on the basis of
  494. some set of regexps.
  495.    There are two kinds of KILL files, global and local.  A global KILL
  496. file is applied to every newsgroup, and a local KILL file to a specified
  497. newsgroup.  Since a global KILL file is applied to every newsgroup, for
  498. better performance use a local one.
  499. File: gnus,  Node: Making a KILL File,  Next: Editing KILL Files,  Prev: What KILL Files Do,  Up: KILL File
  500. Making a KILL File
  501. ==================
  502.    A KILL file can contain any kind of Emacs lisp expressions expected
  503. to be evaluated in the Subject buffer.  Writing lisp programs for this
  504. purpose is not easy because the internal working of GNUS must be
  505. well-known.  For this reason, GNUS provides a general function which
  506. does this easily for non-lisp programmers.
  507.      (gnus-kill FIELD REGEXP &optional COMMAND ALL)
  508. The `gnus-kill' function executes commands available in Subject Mode by
  509. their key sequences.  `gnus-kill' must be called with FIELD, REGEXP,
  510. and optional COMMAND and ALL.  FIELD is a string representing the
  511. header field or an empty string.  If FIELD is an empty string, the
  512. entire article body is searched for.  REGEXP is a string which is
  513. compared with FIELD value.  COMMAND is a string representing a valid key
  514. sequence in Subject Mode or a lisp expression.  COMMAND is default to
  515. `(gnus-Subject-mark-as-read nil "X")'.  Make sure that COMMAND is
  516. executed in the Subject buffer.  If the second optional argument ALL is
  517. non-`nil', the COMMAND is applied to articles which are already marked
  518. as read or unread.  Articles which are marked are skipped over by
  519. default.
  520.    For example, if you want to mark articles of which subjects contain
  521. the string `AI' as read, a possible KILL file may look like:
  522.      (gnus-kill "Subject" "AI")
  523.    If you want to mark articles with `D' instead of `X', you can use
  524. the following expression:
  525.      (gnus-kill "Subject" "AI" "d")
  526. In this example it is assumed that the command
  527. `gnus-Subject-mark-as-read-forward' is assigned to `d' in Subject Mode.
  528.    It is possible to delete unnecessary headers which are marked with
  529. `X' in a KILL file by using the function `gnus-expunge' as follows:
  530.      (gnus-expunge "X")
  531.    If the Subject buffer is empty after applying KILL files, GNUS will
  532. exit the selected newsgroup normally.  If headers which are marked with
  533. `D' are deleted in a KILL file, it is impossible to read articles which
  534. are marked as read in the previous GNUS sessions.  Marks other than `D'
  535. should be used for articles which should really be deleted.
  536.    All sorts of searches in Subject Mode normally ignore the case of the
  537. text they are searching through.  If you do not want to ignore the case,
  538. set the variable `case-fold-search' to `nil'.
  539. File: gnus,  Node: Editing KILL Files,  Next: Example of a KILL File,  Prev: Making a KILL File,  Up: KILL File
  540. Editing KILL Files
  541. ==================
  542.    The command `M-K' in Subject Mode and Group Mode
  543. (`gnus-Subject-edit-global-kill' and `gnus-Group-edit-global-kill')
  544. pops up an Emacs buffer for editing a global KILL file.  A global KILL
  545. file is created in the directory specified by the variable
  546. `gnus-article-save-directory' (default to `~/News'), and its file name
  547. is specified by the variable `gnus-kill-file-name' (default to `KILL').
  548.    The command `M-k' in Subject Mode and Group Mode
  549. (`gnus-Subject-edit-local-kill' and `gnus-Group-edit-local-kill') pops
  550. up an Emacs buffer for editing a local KILL file.  A local KILL file
  551. for a newsgroup NEWS.GROUP is created as `NEWS.GROUP.KILL' in the
  552. directory specified by the variable `gnus-article-save-directory' if
  553. the variable `gnus-use-long-file-name' is non-`nil'.  Otherwise, if the
  554. variable `gnus-use-long-file-name' is `nil', the file is created as
  555. `NEWS/GROUP/KILL' under the same directory.
  556.    The major mode of these buffers is "KILL-File Mode".  This mode is
  557. specialized for editing Emacs lisp programs the same as Emacs-Lisp Mode.
  558. In addition to Emacs-Lisp Mode, the following commands are available:
  559. `C-c C-k C-s'
  560.      Insert a template of a kill command on subject
  561.      (`gnus-Kill-file-kill-by-subject').
  562. `C-c C-k C-a'
  563.      Insert a template of a kill command on author
  564.      (`gnus-Kill-file-kill-by-author').
  565. `C-c C-a'
  566.      Apply current buffer being edited to selected newsgroup
  567.      (`gnus-Kill-file-apply-buffer').
  568. `C-c C-e'
  569.      Apply sexp before point in current buffer to selected newsgroup
  570.      (`gnus-Kill-file-apply-last-sexp').
  571. `C-c C-c'
  572.      Save the KILL file and then return to the previous buffer
  573.      (`gnus-Kill-file-exit').
  574. `C-c C-i'
  575.      Read Info on KILL file (`gnus-Info-find-node').  *Note Texinfo
  576.      Manual::, to prepare an Info file of GNUS.
  577.    If KILL-File Mode is invoked from Subject Mode by the command
  578. `gnus-Subject-edit-local-kill' or `gnus-Subject-edit-global-kill', the
  579. commands `C-c C-k C-s' and `C-c C-k C-a'
  580. (`gnus-Kill-file-kill-by-subject' and `gnus-Kill-file-kill-by-author')
  581. insert a kill command on the subject and author of an article where the
  582. point is on, respectively.  Otherwise, a template of a kill command is
  583. inserted.
  584.    The commands `C-c C-a' and `C-c C-e' (`gnus-Kill-file-apply-buffer'
  585. and `gnus-Kill-file-apply-last-sexp') can be used to test kill commands
  586. being edited in current buffer.  The kill commands are applied to
  587. current newsgroup.
  588. File: gnus,  Node: Example of a KILL File,  Next: Background Kills,  Prev: Editing KILL Files,  Up: KILL File
  589. Example of a KILL File
  590. ======================
  591.    The following is an example of a local KILL file for newsgroup
  592. `control'.  This is currently being used by the author.
  593.      ;; Apply to the newsgroup `control' if the NNTP server is flab.
  594.      (if (string-equal gnus-nntp-server "flab")
  595.          (progn
  596.            (gnus-kill "Subject" "ihave flab\\|sendme")
  597.            (gnus-kill "Subject" "cancel\\|newgroup\\|rmgroup" "d")
  598.            (gnus-expunge "X")))
  599. File: gnus,  Node: Background Kills,  Next: Advanced Kills,  Prev: Example of a KILL File,  Up: KILL File
  600. Background Kill Processing
  601. ==========================
  602.    Kill processing may take long time.  If it becomes terribly
  603. frustrating, try background kill processing using the following shell
  604. command:
  605.      emacs -batch -l gnus -f gnus-batch-kill NEWSGROUPS
  606. where NEWSGROUPS argument is newsgroup names separated by either white
  607. spaces or a comma.  `!' preceding a newsgroup name means negation, and
  608. `all' matches anything else.  These interpretations are the same as the
  609. options line of the startup file (*note Startup File::.).
  610. File: gnus,  Node: Advanced Kills,  Prev: Background Kills,  Up: KILL File
  611. Advanced Kill Processing
  612. ========================
  613.    Internally, applying kills means to run the hook
  614. `gnus-Apply-kill-hook'.  It is called after the Subject buffer is
  615. prepared for a selected newsgroup.  The default hook is the function
  616. `gnus-apply-kill-file' which loads a global KILL file and a local KILL
  617. file in this order.  A different style of the kill processing can be
  618. implemented by customizing this hook.
  619.    For example, if you think a global KILL file is unnecessary, you can
  620. use the following hook which applies only a local KILL file.  This
  621. change can save the time for checking the existence of a global KILL
  622. file.
  623.      (setq gnus-Apply-kill-hook
  624.            (function
  625.             (lambda ()
  626.               ;; Apply a local KILL file.
  627.               (load (gnus-newsgroup-kill-file gnus-newsgroup-name) t nil t))))
  628.    On the contrary, the following example enables only a global KILL
  629. file.
  630.      (setq gnus-Apply-kill-hook
  631.            (function
  632.             (lambda ()
  633.               ;; Apply a global KILL file.
  634.               (load (gnus-newsgroup-kill-file nil) t nil t))))
  635.    Here is an advanced example that drastically reduces the time for
  636. applying KILL files.  This hook does the kill processing directly
  637. without loading the KILL files.
  638.      (setq gnus-Apply-kill-hook
  639.            (function
  640.             (lambda ()
  641.               ;; Apply to the newsgroup `control'
  642.               ;; if the NNTP server is flab.
  643.               (and (string-equal gnus-nntp-server "flab")
  644.                    (string-equal gnus-newsgroup-name "control")
  645.                    (progn
  646.                      (gnus-kill "Subject" "ihave flab\\|sendme")
  647.                      (gnus-kill "Subject" "cancel\\|newgroup\\|rmgroup" "d")
  648.                      (gnus-expunge "X"))))))
  649. File: gnus,  Node: Customization,  Next: Problems,  Prev: KILL File,  Up: Top
  650. Customizing GNUS
  651. ****************
  652.    Appendix A describes the variables and hooks for simple customization
  653. and the variables for localization.
  654. * Menu:
  655. * Variables::           Variables for customizing GNUS.
  656. * NNTP Variables::      Variables for localizing NNTP environment.
  657. * Spool Variables::     Variables for localizing news spool environment.
  658. * Directory Variables:: Variables for localizing private directory environment.
  659. * Hooks::               Function hooks for customizing GNUS.
  660.